-- 全局变量
-- name = 'cqj'
-- name = 2
-- 输出
-- print(name)
-- 局部变量
-- do
--     local name2 = 'cqj2'
--     print(name2)
-- end
-- arr数组 从1开始
-- local arr1 = {1, 2, 3}
-- print(arr1[1])
-- obj
-- local obj = {
--     name = 'cqj',
--     age = 18
-- }
-- print(obj.age)
-- 函数
-- local a = 4
-- function func(val)
--     if val == 1 then
--         print('a==1')
--         return 1
--     elseif val == 2 then
--         print('a==2')
--         return 2
--     else
--         print('a==any')
--         return 'any'
--     end
-- end
-- local res = func(a)
-- print('res: ', res);
-- 数组循环 
-- 步进
-- for i = 1, 10, 3 do
--     print(i)
-- end
-- local array = {"Apple", "Banana", "Cherry"}
-- for i = 1, #array do
--     print(array[i])
-- end
-- local obj = {
--     name = 'cqj',
--     age = 18
-- }
-- -- 循环数组
-- for index, value in ipairs(arr1) do
--     print(index, value)
-- end
-- -- 循环对象
-- for key, value in pairs(obj) do
--     print(key, value)
-- end
-- module
-- local M = require('./utils')
-- local r = M.add(1, 2)
-- print(r, M.PI)
-- 读取文件
-- local file = io.open('./index.txt', 'r')
-- -* a读取全部内容
-- local content = file:read('*a')
-- print(content)
-- 写入
-- local file2 = io.open('./index.txt', 'w')
-- file2:write('hello world')
-- 限流阀
local key = KEYS[1] -- 接受key的值
local interval = tonumber(ARGV[1]) -- 接受参数的值
local count = tonumber(ARGV[2]) -- 限流阀时间
local limit = tonumber(redis.call('get', key) or '0') -- 获取key的值
if limit + 1 >= count then
    return 0
else
    redis.call('incr', key) -- lottery:++ 0 1 2 3 4 5
    redis.call('expire', key, interval) -- lottery:0 1 2 3 4 5
    return 1
end
